package demo;
class Student{
    public String name;
    public int age;
    public int StuNum;

    public Student(String name,int age,int StuNum){
        //当你的构造方法的参数 和 你局部变量的变量名 相同时会初始化失败，为什么？
        //因为局部变量会优先自己给自己赋值所以初始化失败，怎么解决呢？
        //回答：用this.去赋值,这样哪个引用给指向的对象赋值哪个就是this
        this.name = name;
        this.age = age;
        this.StuNum = StuNum;
    }
    public void eat(){
        System.out.println(this.name+"正在吃饭");
    }
    public void Class(){
        System.out.println(this.name+"正在上课");
    }
    public void test(){
        System.out.println(" 姓名 "+this.name+" 年龄 "+this.age+" 学号 "+this.StuNum);
    }
}
public class Test {
    public static void main(String[] args) {
        //3.掌握对象的整个初始化过程
        /*对象的初始化分为三种
         * 1.就地初始化
         * 2.通过对象的引用进行初始化
         * 3.通过构造方法进行初始化*/
        Student student1 = new Student("zhangsan",10,2025118);
        student1.test();
        Student student2 = new Student("lisi",15,2024118);
        student2.test();
    }
    /*public static void main1(String[] args) {
        //1.掌握类的定义方式以及对象的实例化
        Student student1 = new Student();
        //2.掌握类中的成员变量和成员方法的使用
        student1.name="zhangsan";
        student1.age=10;
        student1.StuNum=2025118;
        System.out.println("=====如下是方法的使用=====");
        student1.eat();
        student1.Class();
    }*/
}
